שפת XML הפכה להיות נפוצה ובעלת תפקידים רבים, במיוחד עקב גמישותה הרבה:

Size: px
Start display at page:

Download "שפת XML הפכה להיות נפוצה ובעלת תפקידים רבים, במיוחד עקב גמישותה הרבה:"

Transcription

1 שעור extensible Markup Language - XML 11 XML היא שפת סימון בדומה ל- HTML, גם XML היא שפת סימון. XML איננה שפת תכנות שמאפשרת פיתוח תכניות אשר מבצעות פעולות חישוב. בדומה ל- HTML גם XML מורכבת, למעשה, מתגיות אשר מסמנות מקטעי טקסט מן המסמך. במסמכי XML תפקידן של התגיות הוא לומר מה המשמעות של אותם מקטעי טקסט. התגיות במסמכי XML מוצמדות למקטעי הטקסט השונים ובכך הן מקטלגות אותם. שפת XML הפכה להיות נפוצה ובעלת תפקידים רבים, במיוחד עקב גמישותה הרבה: כיום XML היא הבסיס לשפות שונות, וממנה נגזרות שפות כגון XHTML,MathML,SVG וכיוצא בזה. שמירה והעברת מידע בין פלטפורמות, תוכנות ומערכות הפעלה שונות. פורמט להעברת נתונים בין שירותים ברשת. Serialization של אובייקטים בתכנות. האפשרות לכלול בתוך תגית XML תגיות XML אחרות מאפשרת לעשות שימוש יעיל ב- XML כדי לייצג מידע היררכי. אחד ההבדלים בין מסמכי XML למסמכי HTML הוא שבמסמכי XML מתקיימת רגישות להבדלים בין אותיות גדולות לאותיות קטנות. הבדל נוסף הוא שמסמך XML יכול לכלול מספר ריווחים רציפים )ב- HTML מספר ריווחים רציפים הופכים לריווח יחיד(. הקטע הבא הוא דוגמא למקטע XML אפשרי: < > <to> elizabeti@ariel.ac.il</to> <from>yosik@ariel.ac.il</from> <subject>java & XML</subject> <content> We love Java and XML! </content> </ > כל מסמך XML חייב להיחשב ל- well-formed כדי שניתן יהיה לעבוד עמו. זהו הבדל גדול ביחס ל-.HTML מסמך HTML איננו חייב לעמוד בכל הכללים כדי שניתן יהיה להציגו. אחת הדרישות המרכזיות לכך שמסמך ה- XML ייחשב ל- well-formed היא שלכל תגית התחלה תהיה גם תגית סיום. דרישה מרכזית נוספת לכך שמסמך ה- XML יחשב ל- well-formed היא שכל צמד תגיות אשר יכונן בתוך צמד תגיות אחר ישמור על מיקומם המתאים של התגיות. כך למשל, מסמך ה- XML הבא איננו חוקי )איננו ): well-formed <name>..<id>..</name>..</id>. כדי ששורה זו תהיה חוקית )תיחשב ל- well-formed ( יש לרשום אותה כך: <name>..<id>..</id>..</name>. 1

2 דרישה נוספת לכך שהמסמך ייחשב ל- well-formed היא שהוא יכלול מרכיב אחד ראשי (root element) בלבד ולא יותר מכך. אם המסמך כולל יותר ממרכיב ראשי אחד הדבר יגרום לכך שהוא כבר לא ייחשב ל- well-formed. כמו כן, כל מסמך XML חייב להיחשב ל- valid. מסמך XML ייחשב ל- valid אם הוא well-formed וכמו כן, המבנה שלו ותוכנו תואמים לכללים אשר נקבעו ב- DTD )Document Type Definition) של אותו מסמך.XML מטרת ה DTD היא לקבוע את התבנית או הצורה בה הנתונים יסודרו במסמך. ניתן לומר כי ה DTD הוא מסמך שמגדיר כיצד התכנה הקוראת את הנתונים מצפה לקבל את המידע, על מנת שתוכל לעבד אותו. תגית ריקה ניתן לייצור תגית שתעמוד בזכות עצמה מבלי שיהיה צורך לסגור אותה בתגית סגירה. תגית כזו תאופיין בלוכסן אשר יופיע לפני הסוגר שסוגר אותה. לדוגמא: <xxx/> להלן דוגמא לקטע מסמך XML אשר כולל בתוכו תגית אשר עומדת בזכות עצמה: < > <to> <subject>java & XML</subject> <important/> <content> We love Java and XML! </content> </ > הערות ב- XML הערות במסמכי XML נראות בדיוק כמו הערות במסמכי :HTML <!-- a comment... --> התחלתו של מסמך ה- XML בתחילת כל מסמך XML יופיע משפט הקדמה אשר יציין כי זהו מסמך XML וגם יכיל הצהרה בנוגע לגרסת ה- XML שעל פיה המסמך כתוב. להלן דוגמא למשפט הקדמה אפשרי: <?xml version="1.0"?> משפט ההקדמה מתחיל בסימן?> ומסתיים בסימן <?. משפט ההקדמה יכול לכלול תכונות אשר מוסיפות אינפורמציה נוספת: דוגמא: <?xml version="1.0" encoding="iso "?> להלן התכונות )attributes( שניתן להוסיף אל תוך משפט ההקדמה: version תכונה זו מציינת את גירסת ה- XML שנעשה בה שימוש. תכונה זו חייבת להופיע. encoding תכונה זו מציינת את ה- encoding )ה- set )character שמשמש במסמך. standalone מציינת אם מסמך ה- XML שנדון מכיל/איננו מכיל references למסמכים/מקורות נוספים. הערה: ב- XML כפולים. הערכים אשר ניתנים לתכונות שמוסיפים חייבים להופיע בתוך גרשיים 2

3 התחלתו של מסמך XML יכולה גם לכלול DTD או הפניה למסמך DTD חיצוני, אשר יכלול פירוט והבהרות של התגיות החוקיות לרבות אופן השימוש בהם וגם את הגדרתם של entities תחילתו של מסמך ה- XML יכולה גם לכלול,processing instructions הוראות לתכנית אשר תעבד את המסמך. המבנה הכללי של procession instructions הוא: <? targetapplicationname theinstructions?> וזאת, כאשר ה- targetapplicationname הוא השם של האפליקציה אשר עתידה לעבד את המסמך ו- theinstructions הן ההוראות שניתנות. סדרת ההוראות שניתנת תיכתב כמחרוזת טקסט ארוכה אשר תכלול בתוכה את הפקודות ואת האינפורמציה הנוספת אשר מיועדים לאותה אפליקציה. מסמך XML יכול לכלול יותר מ- instructions processing אחד )לכל אפליקציה ייכתב processing instructions אחר(. מקטע מסוג (Unparsed Character Data) CDATA אם רוצים לשלב בתוך מסמך ה- XML טקסט שאיננו עומד בכללי ה- well-formed )למשל, טקסט HTML שמעוניינים להציגו בדפדפן, או קוד של )JAVA ניתן לשלבו באמצעות מרכיב ה- CDATA וכך, גם אם איננו well-formed עדיין מסמך ה- XML כולו ייחשב ל-- well.formed לדוגמה, סמל > אינו חוקי בתוך XML אלמנטים (elements) בגלל שהמפענח מקבל אותו כסמל פתיחה של אלמנט חדש. כל מידע שנמצא בתוך קטע של CDATA לא עובר תהליך פענוח. קטע של CDATA מתחיל ב- "<![CDATA[" ומסתיים ב-"<[[": קטע של CDATA לא יכול לכלול סמל "<[[". קטע של CDATA מקוננת אינו חוקי. <! [CDATA [ text text text... ] ] > <maximum> <![CDATA[ public static void max(int a,int b){ int ans = a; if (a < b) ans = b; return ans; } ]]> </maximum > דוגמא: DTD - Document Type Definition בגלל ששפת XML היא גמישה וברת הרחבה Language(,)eXtensible Markup ומכיוון שלכל מסמך יש תפקיד שונה ועליו להחזיק נתונים שונים, יש צורך לקבוע תקן שיגדיר כיצד המסמך יראה. מטרת ה DTD היא לקבוע את התבנית או הצורה בה הנתונים יסודרו במסמך. ניתן לומר כי ה DTD הוא מסמך שמגדיר כיצד התכנה הקוראת את הנתונים מצפה לקבל את המידע, על מנת שתוכל לעבד אותו. דוגמה לקוד,DTD ולאחריו הסבר לקוד: 3

4 <!ELEMENT people_list (person*)> <!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)> <!ELEMENT name (#PCDATA)> <!ELEMENT birthdate (#PCDATA)> <!ELEMENT gender (#PCDATA)> <!ELEMENT socialsecuritynumber (#PCDATA)> הסבר, מחולק לפי שורות: people_list הוא אלמנט חוקי במסמך, והוא יכול להכיל תחתיו את האלמנט.person הכוכבית )*( מסמלת כי תחת אלמנט זה יכולים להופיע אפס או יותר אלמנטים מסוג.person person הוא אלמנט חוקי במסמך, ואלמנט זה יכיל תחתיו את האלמנט,name ולאחריו האלמנטים birthdate )בחירה(, gender )בחירה( ו/או socialsecuritynumber )בחירה(. סימן השאלה )?( מסמל כי האלמנט יכול להופיע אפס או אחד פעמים )בחירה(. מכיוון שאין אחרי name סימן שאלה )או כל סימן אחר, כגון כוכבית וכיוצא בזה(, הוא חייב להופיע בכל אלמנט.person name הוא אלמנט חוקי במסמך, ואלמנט זה יכול להכיל מידע מסוג character data )טקסט, אך לא אלמנטים(. Birthdate הוא אלמנט חוקי במסמך, ואלמנט זה יכול להכיל מידע מסוג.character data gender הוא אלמנט חוקי במסמך, ואלמנט זה יכול להכיל מידע מסוג.character data socialsecuritynumber הוא אלמנט חוקי במסמך, ואלמנט זה יכול להכיל מידע מסוג.character data הגדרת מרכיבים )elements( המבנה הכללי של >... ELEMENT <! הוא: <! ELEMENT name contentmodel > ה- name הוא השם של המרכיב שאליו מתייחסת ההגדרה. ה- contentmodel מתאר את התוכן אשר ייחשב לחוקי (valid) באלמנט.name האפשרויות שיכולות להיות contentmodel הן: האלמנט יהיה ריק וללא תוכן. עדיין ניתן יהיה להוסיף אליו תכונות. <! ELEMENT important EMPTY > EMPTY דוגמא: (Parsed Character Data) #PCDATA - האלמנט יכול להכיל תוכן טקסטואלי אך הוא לא יכול לכלול אלמנטים אחרים elements).(child 4

5 <! ELEMENT content (#PCDATA) > דוגמא: נרמול מסמך Document Normalization - XML מסמך XML יכול להכיל כל מיני סימנים שלא רואים אותם - characters,spaces( whitespace,tabs (carriage returns, and linefeeds. כאשר משווים שני מסמכים XML לפעמים כדאי למחוק את ה- characters whitespace ולעבוד ישירות עם אלמנטים וערכי התכונות. תהליך מחיקת של whitespace characters נקרא נרמול.Normalization המסמך שעבר נרמול שונה ממסמך קנוני של.XML <rootelement> This is the test <childelement test="true"> Value </childelement> </rootelement> דוגמה: מסמך XML לפני נרמול: מסמך XML לאחר הנרמול: <rootelement>this is the test<childelement test="true">value</childelement></rootelement> שלבי פיענוח מסמך :XML ניתן לכתוב תכנית אשר תדע לייצור באופן אוטומטי את המחלקות המתאימות לעיבוד המרכיבים אשר מופיעים במסמך ה- XML. המחלקות של ה- JAXP API שמורות בקובץ.jaxp.jar מחלקות אלה מקובצות ל- package אחד:.javax.xml.parsers ב- package זה כלולות, בין היתר, שתי המחלקות הבאות: - DocumentBuilderFactory מאפשרת ליצור DOM מתאים למסמך XML נתון. - SAXParserFactory מאפשרת לבצע parsing למסמך XML נתון. כדי לקבל לידינו reference לאובייקט אשר יוכל לבצע parsing יש, תחילה, להפעיל את המתודה הסטטית newinstance אשר הוגדרה במחלקה.DocumentBuilderFactory מתודה זו מחזירה reference לאובייקט מטיפוס.DocumentBuilderFactory על אובייקט זה ניתן יהיה להפעיל את המתודה newdocumentbuilder אשר תחזיר reference לאובייקט מטיפוס DocumentBuilder )זהו האובייקט אשר יוכל לבצע,)parsing אובייקט שבהמשך ניתן יהיה להפעיל עליו את המתודה.parsing מקבלת קובץ שרוצים לעשות לו parse המתודה.parse DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newdocumentbuilder(); dom = db.parse("employees.xml"); כדי לבדוק האם מסמך XML המוגדר ע"י תבנית DTD בנוי הטב ניתן להשתמש במחלקה.)HTML למסכי טקסט )כולל XML היא מאפשרת המרת מסמכי.TransformerFactory 5

6 DocumentBuilderFactory factory=documentbuilderfactory.newinstance(); factory.setvalidating(true); DocumentBuilder builder = factory.newdocumentbuilder(); Document doc=builder.parse(new FileInputStream("Employee.xml")); DOMSource source = new DOMSource(xmlDocument); StreamResult result = new StreamResult(System.out); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newtransformer(); transformer.setoutputproperty(outputkeys.doctype_system, "Employee.dtd"); transformer.transform(source, result); Employee.dtd: <!ELEMENT Employee (Emp_Id, Emp_Name, Emp_ )> <!ELEMENT Emp_Id (#PCDATA)> <!ELEMENT Emp_Name (#PCDATA)> <!ELEMENT Emp_ (#PCDATA)> Employee.xml: <?xml version = "1.0"?> <!DOCTYPE Employee SYSTEM "Employee.dtd"> <Emp_Id> E-001 </Emp_Id> <Emp_Name> Izhak </Emp_Name> <Emp_ > Izhak1@yahoo.com </Emp_ > 6

7 1. What is XML? extensible Markup Language - XML extensible Markup Language XML is text based markup language. XML is more than html because html only deals with presentation and carries no information about the data itself. <Name>Seagull</Name> < ID> 3674 </ID> <Age>34</Age> And this clearly expresses Seagull is an employee name his ID is 3674 and his age is 34. But XML can be extended (i.e we can create our own tags ) 2. Advantages of XML Here are a few advantages. Readability XML document is plain text and human readable, To edit/view XML documents any simple text editor will suffice. Hierarchical XML document has a tree structure which is powerful enough to express complex data and simple enough to understand Language Independent XML documents are language neutral.for e.g. a Java program can generate a XML which can be parsed by a program written in C++ or Perl. OS Independent XML files are Operating System independent. 7

8 3. Uses of XML MetaContent To describe the contents of a document. Messaging Where applications or organizations exchanges data between them. Database The data extracted from the database can be preserved with original information and can be used more than one application in different ways. One application might just display the data and the other application might perform some complex calculation on this data 4. Parsers DOM (Document Object Model ) parser - Tree Structure based API (application programming interface): The Dom parser implements the dom api and it creates a DOM tree in memory for a XML document SAX (Simple API For XML ) parser - Event Based API The SAX parser implements the SAX API and it is event driven interface. As it parses it invokes the callback methods When to use DOM parser Manipulate the document Traverse the document back and forth Small XML files Drawbacks of DOM parser : consumes lot of memory When to use SAX parser No structural modification Huge XML files Validating And Non Validating DOM and SAX can either be a validating or a non validating parser. A validating parser checks the XML file against the rules imposed by DTD or XML Schema. A non validating parser doesn't validate the XML file against a DTD or XML Schema. Both Validating and non validating parser checks for the well formedness of the xml document 8

9 Well Formedness A well formed XML must satisfy these constraints a) All tags must have a corresponding ending tag. Well Formed Not Well formed <Name>Seagull</Name> < ID> 3674 </ID> <Age>34</Age> (Note: Missing ending tag for Age) b) No overlapping tags <Name>Seagull</Name> < ID> 3674 </ID> <Age>34 Well Formed Not Well formed <Name>Seagull</Name> < ID> 3674 </ID> <Age>34</Age> <Name>Seagull</Name> < ID> 3674 </ID> <Age>34</Age> Note: and </Personnel > tags are not in the right order Using DOM This program DomParserExample.java uses DOM API. The steps are Get a document builder using document builder factory and parse the xml file to create a DOM object Get a list of employee elements from the DOM For each employee element get the id, name, age and type. Create an employee value object and add it to the list. At the end iterate through the list and print the employees to verify we parsed it right. 9

10 a) Getting a document builder private void parsexmlfile() b) Get a list of employee elements Get the rootelement from the DOM object.from the root element get all employee elements. Iterate through each employee element to load the data. private void parsedocument() c) Reading in data from each employee private Employee getemployee(element empel) d) Iterating and printing. private void printdata() Generating XML The previous programs illustrated how to parse an existing XML file using DOM Parser. But generating a XML file from scratch is a different story, for instance you might like to generate a xml file for the data extracted from a database.to keep the example simple this program XMLCreatorExample.java generates XML from a list preloaded with hard coded data. The output will be book.xml file with the following content. <?xml version="1.0" encoding="utf-8"?> <Books> <Book Subject="Java 1.5"> <Author>Kathy Sierra.. etc</author> <Title>Head First Java</Title> </Book> <Book Subject="Java Architect"> <Author>Kathy Sierra.. etc</author> <Title>Head First Design Patterns</Title> </Book> </Books> The steps involved are Load Data Get an instance of Document object using document builder factory Create the root element Books For each item in the list create a Book element and attach it to Books element Serialize DOM to FileOutputStream to generate the xml file "book.xml". a) Load Data: private void loaddata() b) Getting an instance of DOM: private void createdocument() c) Create the root element Books: private void createdomtree(){ d) Creating a book element: private Element createbookelement(book b) e) Serialize DOM to FileOutputStream to generate the xml file "book.xml". private void printtofile() שים!: מתן גישה ל- serializer בסיבת :Eclipse ProjectPropertiesJava CompilerErrors / Warnings לסמן ב-,Enable Project Specific Settings בסעיף Deprecated and restricted API לשנות.Ignore או ל- Warning ל- Error 11

11 Definitions (From java.sun.com) Attribute A qualifier on an XML tag that provides additional information. For example, in the tag <slide title="my Slide">, title is an attribute, and My Slide is its value. Tag A piece of text, that describes a unit of data, or element, in XML. A tag is surrounded by angle brackets <Age>25</Age> <Age> is the start tag Element A unit of XML data, delimited by tags. An XML element can enclose other elements..... In this Personnel has two Employee elements. CDATA A predefined XML tag for "Character DATA" that says "don't interpret these characters", as opposed to "Parsed Character Data" (PCDATA), in which the normal rules of XML syntax apply (for example, angle brackets demarcate XML tags, tags define XML elements, etc.). CDATA sections are typically used to show examples of XML syntax. Like this: <![CDATA[ <slide>..a sample slide..</slide> ]]> which displays as: <slide>..a sample slide.. </slide> Declaration The very first thing in an XML document, which declares it as XML. The minimal declaration is <?xml version="1.0"?>. The declaration is part of the document prolog. Data The contents of an element, generally used when the element does not contain any subelements. <Age>25<Age> Here 25 is the data DTD Document Type Definition. An optional part of the document prolog, as specified by the XML standard. The DTD specifies constraints on the valid tags and tag sequences that can be in the document. 11

ASP.Net Web API.

ASP.Net Web API. ASP.Net Web API 1 מה זה? Web API View בלבד ולא Data אותו מממש השרת והוא מחזיר לקליינט API הוא Web API הבקשה והתשובה הן בפרוטוקול Http\Https הקליינטים של Web API יכולים להיות רבים : אפשר להשתמש גם בMVC

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 >>g = [89 91 80 98]; >>p

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 23427 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 203 Based on slides of Dr. Eran Eden, Weizmann 2008 ביטויים לוגיים דוגמא: תקינות

More information

Algorithms. Intro2CS week 5

Algorithms. Intro2CS week 5 Algorithms Intro2CS week 5 1 Computational problems A computational problem specifies an inputoutput relationship What does the input look like? What should the output be for each input? Example: Input:

More information

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num)

סכום (סדרת ערכים) אחרת - דוגמא: סכום-ספרות (num) אם < 10 num החזר 1 או אם = 0 = num החזר 0 public static int numofdigits (int num) 1 תבנית צבירה תבניות אלגוריתמיות לפעולות רקורסיביות תבנית צבירה לסדרת ערכים: סכום (סדרת ערכים) החזר את ערך הקצה + סכום (סדרת הערכים ללא ערך הקצה) דוגמא: פעולה המחזירה את סכום הספרות שבמספר שלם לא שלילי

More information

Amortized Analysis, Union-Find,

Amortized Analysis, Union-Find, Practical Session No. 13 Amortized Analysis, Union-Find, AMORTIZED ANALYSIS Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes תוכנה 1 תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes class Outer { static class NestedButNotInner {... class Inner {... מחלקות מקוננות NESTED CLASSES 2 מחלקה מקוננת Class) )Nested

More information

מבוא לתכנות ב- JAVA מעבדה 2

מבוא לתכנות ב- JAVA מעבדה 2 מבוא לתכנות ב- JAVA מעבדה 2 מה בתרגול טיפוסים פרימיטיביים המרות טיפוסים אופרטורים יחסיים ולוגיים משפט if-else בתרגול הקודם טיפוסים פרימיטביים לייצוג מספרים שלמים וממשיים ואופרטורים לפעולות בין מספרים.1

More information

Nir Adar

Nir Adar שפת Java למתכנתי ++C - חלק שני מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

Engineering Programming A

Engineering Programming A Engineering Programming A תרגול 5 25.11.2012 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1]

More information

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים - תזכורת מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות )חתימות(. מימוש דיפולטיבי

More information

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 מערכים שעור מס. 4 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 למה מערכים? ברצוננו לאחסן בתוכנית ציוני בחינה כדי לחשב את ממוצע הציונים וסטיית התקן. נניח ש 30 סטודנטים לקחו

More information

Advanced Java Exercises

Advanced Java Exercises Advanced Java Exercises Generics Exercise 1: Write a generic method to exchange the positions of two different elements in an array. Exercise 2: Consider the following classes: public class AnimalHouse

More information

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> }

תרגול 4 פונקציות. מבנה של פונקציה: public static <return value type> <function name> (<arg1 type> <arg1>, <arg2 type> <arg2>, ) { <function body> } נושאי התרגול: מה הן פונקציות הגדרת פונקציה,קריאה לפונקציה העברת ארגומנטים,החזרת ערך או void העברת משתנים פרימיטיביים ומערכים לפונקציה העמסה של פונקציות תרגול 4 פונקציות מוטיבציה לעיתים,אנו נזקקים לבצע

More information

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 משתנים שעור מס. 2 דרור טובי דר' כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1 תפקיד המשתנים הצהרה על משתנה השמת ערך במשתנה int a, b, c; a = 1234; b = 99; c = a + b; משתנים מאפשרים לנו לשמור

More information

Practical Session - Heap

Practical Session - Heap Practical Session - Heap Heap Heap Maximum-Heap Minimum-Heap Heap-Array A binary heap can be considered as a complete binary tree, (the last level is full from the left to a certain point). For each node

More information

תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות

תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות מערכים Array: A fixed-length data structure for storing multiple values of the same type Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5

More information

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות המימוש שלהן. )חתימות( ללא קוד אשר

More information

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions מבוא לתיכנות עם MATLAB 234127 Lecture 5: Boolean logic and Boolean expressions Written by Prof. Reuven Bar-Yehuda, Technion 2013 Based on slides of Dr. Eran Eden, Weizmann 2008 1 motivation Proper academic

More information

הנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת

הנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת תוכנה 1 תרגול 2: מערכים, לולאות והתמודדות עם שגיאות מערכים מערכים Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices

More information

הנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת

הנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת תוכנה 1 תרגול 2: מערכים, לולאות והתמודדות עם שגיאות מערכים Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices (start

More information

יישומונים (Applets) 2007 Zindell Technologies, Ltd. הקדמה. המגבלות על פעולותיו של ה- applet. המחלקה Applet. המחלקה Graphics.

יישומונים (Applets) 2007 Zindell Technologies, Ltd. הקדמה. המגבלות על פעולותיו של ה- applet. המחלקה Applet. המחלקה Graphics. 1 יישומונים (Applets) הקדמה המגבלות על פעולותיו של ה- applet המחלקה Applet המחלקה Graphics תגית ה- applet העברת פרמטרים ל- applet מחזור החיים של ה- applet הסביבה שבה פועל ה- applet ה. ה. 2 הקדמה ה- applet

More information

תוכנה 1 תרגול מספר 13

תוכנה 1 תרגול מספר 13 1 תוכנה 1 תרגול מספר 13 ו- HashCode Equals עוד על טיפוסים מוכללים )Advanced Generics( חריגים )Exceptions( בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 ו- HASHCODE EQUALS 3 תזכורת: המחלקה Object package

More information

תוכנה 1 תרגול מספר 13

תוכנה 1 תרגול מספר 13 1 2 תוכנה 1 תרגול מספר 13 ו- HashCode Equals עוד על טיפוסים מוכללים )Advanced Generics( ו- HASHCODE EQUALS חריגים )Exceptions( בית הספר למדעי המחשב אוניברסיטת תל אביב 1 3 4 package java.lang; תזכורת: המחלקה

More information

תוכנה 1 תרגול 2: מערכים ומבני בקרה

תוכנה 1 תרגול 2: מערכים ומבני בקרה תוכנה 1 תרגול 2: מערכים ומבני בקרה 2 Useful Eclipse Shortcuts Ctrl+1 quick fix for errors, or small refactoring suggestions Ctrl+SPACE code content assist (auto-completion) Auto completion for main create

More information

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays מערכים Array: A fixed-length data structure for storing multiple values of the same type תוכנה 1 Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 odds: 1 3 5 7 9 11 13 15 odds.length

More information

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization מערכים תוכנה 1 Array: A fixed-length data structure for storing multiple values of the same type Example from last week: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 תרגול 2: מערכים

More information

תוכנה 1 3 תרגול מס' מערכים ומבני בקרה

תוכנה 1 3 תרגול מס' מערכים ומבני בקרה תוכנה 1 3 תרגול מס' מערכים ומבני בקרה מערכים Array: A fixed-length data structure for storing multiple values of the same type Example: An array of odd numbers: Indices (start from 0) 0 1 2 3 4 5 6 7 odds:

More information

תכנות מונחה עצמים משחקים תשע"ו

תכנות מונחה עצמים משחקים תשעו move semantics 1 תכנות מונחה עצמים ופיתוח משחקים תשע"ו סמנטיקת ההעברה semantics( )Move move semantics 2 מטרה האצה של התוכניות, שיפור בביצועים על ידי חסכון בבנייה והעתקה של אובייקטים זמניים move semantics

More information

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 בשפת Java נושאים שונים בהורשה רובי בוים ומתי שמרת בית הספר למדעי המחשב אוניברסיטת תל אביב Today Static vs. Dynamic binding Equals / hashcode String Immutability (maybe) 2 Static versus run-time

More information

תרשים המחלקות ותרשים העצמים

תרשים המחלקות ותרשים העצמים 1 תרשים המחלקות ותרשים העצמים חלק שלישי: ניתוח ועיצוב מערכות מידע באמצעות שימוש ב- UML ומתודולוגיית ה- Process )UP( Unified E1 3 E2 2 Outline UML Introduction Class Diagram Class Association Self association

More information

Advanced Lab in Computer Communications Meeting 1 Layers Model, Codes, Ethernet. Instructor: Tom Mahler

Advanced Lab in Computer Communications Meeting 1 Layers Model, Codes, Ethernet. Instructor: Tom Mahler Advanced Lab in Computer Communications Meeting 1 Layers Model, Codes, Ethernet Instructor: Tom Mahler Course Objective הודעות כלליות מעבר על דף מידע OSI Model Classical 7 layers model IP model Application

More information

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner Communication Networks (0368-3030) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University Allon Wagner Kurose & Ross, Chapter 3.5.5, 3.7 (5 th ed.) Many slides adapted from: J. Kurose

More information

CSS תגיות עיצוב - Document Level style sheet. הגדרת עיצוב inline { ;ערך : תכונה ;ערך :תכונה } שם-התגית CSS תכנות בסביבת האינטרנט 1

CSS תגיות עיצוב - Document Level style sheet. הגדרת עיצוב inline { ;ערך : תכונה ;ערך :תכונה } שם-התגית CSS תכנות בסביבת האינטרנט 1 תכנות בסביבת האינטרנט 1 תגיות עיצוב - הגדרות עיצוב לגופן, צבע, יישור וכד'. קיימות חמש רמות לכתיבה והוספת עיצובים:.1 style - In Line עיצוב ברמת התגית..2 sheet - Document Level style עיצוב ברמת המסמך. 3.

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 רקורסיה - הקדמה הגדרה רקורסיבית: חדר הוא מסודר אם צד שמאל שלו מסודר שלו מסודר. וצד ימין שיטת פתרון רקורסיבית: פתרון מופעים פשוטים יותר של בעיה בכדי לפתור את הבעיה המקורית רקורסיה

More information

Introduction to Programming in C תרגול 8

Introduction to Programming in C תרגול 8 Introduction to Programming in C תרגול 8 1 1 נושאים מצביעים רקע אופרטורים על מצביעים מצביעים כפרמטרים לפונקציה הקצאה דינמית מבנים תאור הזיכרון של המחשב: מצביעים ניתן לחשוב על זיכרון המחשב כעל רצף של תאים,

More information

Simple Web Service. namespace MyService { public class Service1 : System.Web.Services.WebService {

Simple Web Service. namespace MyService { public class Service1 : System.Web.Services.WebService { Simple Web Service WS פתיחת פרוייקט File New Project ASP.Net web service project - >http://localhost/webservice1 יצירת שירות המחשב חיבור וחילוק 2 מספרים : הטיפוסים הבסיסיים using System; איסוף וניהוף אוספי

More information

תרגילים ופתרונות בשפת - C הסתעפויות

תרגילים ופתרונות בשפת - C הסתעפויות תרגילים ופתרונות בשפת - C הסתעפויות כתב וערך: שייקה בילו תרגיל - 1 כתוב תוכנית שתקבל מהמשתמש שלושה מספרים, ותציג את הגדול מביניהם על המסך. #include void main() int mis1, mis2, mis3, max; printf("please

More information

היצביט ומ - ןוכית ת וי נבת

היצביט ומ - ןוכית ת וי נבת תבני ו ת תיכון Patterns) (Design תבנ יו ת תיכון - מו טיבציה בחיי היום יום אנחנו מתארים דברים תוך שימוש בתבניות חוזרות: "מכונית א' היא כמו מכונית ב', אבל יש לה 2 דלתות במקום 4" "אני רוצה ארון כמו זה, אבל

More information

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf(bla\n); 8. return 0; 9. } שאלה : (4 נקודות) א. ב. ג. (5 נקודות) הגדירו את המונח race-condition במדוייק לא להשמיט פרטים. ספקו דוגמא. (5 נקודות) מהו? Monitor נא לספק הגדרה מלאה. ( נקודות) ( נקודות) ציינו כמה תהליכים יווצרו בקוד הבא

More information

Tutorial 10. Introduction to C++ שימו

Tutorial 10. Introduction to C++ שימו Introduction to ++ שימו תרגול זה אינו התרגול הרישמי של הקורס. הוא מבוסס על חוברת התרגולים אך מכיל שינויים, הסברים נוספים ודוגמאות שונות או נוספות. + + תוכנ ית רא שונה ב הכרו ת עם + + תרגול // First ++

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים

More information

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1 תוכנה 1 סיכום תרגול 13 1 בחינה באופק! הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר: כל ההרצאות כל תרגולים כל תרגילי בית חומר סגור שאלות אמריקאיות 2 קצת על מנשקים מנשק יכול להרחיב שירותים במנשק הם תמיד

More information

הוראות חיבור e-port בפרוטוקול Art-Net למערכות תאורה שונות

הוראות חיבור e-port בפרוטוקול Art-Net למערכות תאורה שונות 30.06.2014 הוראות חיבור e-port בפרוטוקול Art-Net למערכות תאורה שונות המסמך נכתב ונערך ע"י רונן בן-הרוש עבור חברת דנאור מערכות תיאטרון ואולפנים בע"מ. http://www.danor.com הבדיקות נעשו באולם רובינא, בתיאטרון

More information

Computer Programming A תרגול 9

Computer Programming A תרגול 9 Computer Programming A תרגול 9 1 מטרת התרגול הקצאת זיכרון מבנים רשימות דינאמית ניהול הזיכרון בתוכנית עד כה כל המשתנים שראינו היו לוקאליים. משך הקיום של משתנים מקומיים הוא הזמן אשר הפונקציה בה הם נמצאים

More information

3 Dynamic Routing A (RIP and OSPF)

3 Dynamic Routing A (RIP and OSPF) אוניברסיטת בן גוריון בנגב המחלקה להנדסת מערכות תקשורת רשתות תקשורת מחשבים - 2 קורס 37110211 מעבדה בתקשורת מחשבים 3 Dynamic Routing A (RIP and OSPF) בשבוע (29/11/2011) 5 בשבוע (13/12/2011) 7 מעבדה מספר

More information

תוכנה 1 סמסטר א' תשע"א

תוכנה 1 סמסטר א' תשעא General Tips on Programming תוכנה 1 סמסטר א' תשע"א תרגול מס' 6 מנשקים, דיאגרמות וביטים * רובי בוים ומתי שמרת Write your code modularly top-down approach Compile + test functionality on the fly Start with

More information

תכנות מתקדם בשפת C משתנים

תכנות מתקדם בשפת C משתנים תכנות מתקדם בשפת C משתנים 1 משתנים סוגי משתנים בשפת C ההבדלים בין סוגי המשתנים השונים 2 /* This program computes m to the power of n */ /* Assumptions: m is an integer; n is a positive integer */ #include

More information

LaserJet Enterprise M506

LaserJet Enterprise M506 LaserJet Enterprise M506 M506n M506dn Installation Guide www.hp.com/support/ljm506 1 Select a sturdy, well-ventilated, dust-free area, away from direct sunlight to position the printer. 2 M506n M506dn

More information

מחרוזות ב Java ותכנות מונחה בדיקות )Test Driven Development(

מחרוזות ב Java ותכנות מונחה בדיקות )Test Driven Development( מחרוזות ב Java ותכנות מונחה בדיקות )Test Driven Development( תוכנה 1 תרגול 8 String Immutability Strings are constants String s = " Tea "; s = s.trim(); s = s.replace('t', 'S'); s 1 2 3 " Tea " "Tea" "Sea"

More information

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp) הנחיות כלליות: תאריך הבוחן: 10.5.2018 שם המרצה: מני אדלר,מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות מס' קורס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' משך הבוחן: 2

More information

גיליון תשובות מספר נבחן: סעיף ג (10 נקודות) הגדרת בטיחות הינה שמירה על האינווריאנטה של האובייקטים במהלך ההרצה.

גיליון תשובות מספר נבחן: סעיף ג (10 נקודות) הגדרת בטיחות הינה שמירה על האינווריאנטה של האובייקטים במהלך ההרצה. גיליון תשובות מספר נבחן: (30 נקודות) שאלה 1 סעיף א (15 נקודות) remove() המתודה remove() גם משנה את מצב האובייקט,(command) וגם מחזירה ערך.(query) על פי עקרונות העיצוב שלמדנו בכיתה יש להפריד שאילתות מפקודות.

More information

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h>

$ gcc check.c. $ a.out. $ gcc check.c -o check. $ check. $ gcc -Wall check.c -o check. #include <stdio.h> תכנות בסיסי בשפת C תוכנית ראשונה תוכנית ב - C מורכבת מאוסף פונקציות והגדרות טיפוסים. C איננה שפה object oriented כך שאין בה מושגים של מחלקה ואובייקט. נתחיל בתוכנית הראשונה המסורתית, זו המדפיסה הודעה יחידה

More information

מבוא למדעי המחשב השפעת השינוי על סטודנט הרצאה 18: פולימורפיזם ומחלקות אבסטרקטיות אם ברצוננו ששכר הלימוד לא יעלה על 2500.

מבוא למדעי המחשב השפעת השינוי על סטודנט הרצאה 18: פולימורפיזם ומחלקות אבסטרקטיות אם ברצוננו ששכר הלימוד לא יעלה על 2500. public class { private static final int COURSE_PRICE = 1000; private String nae; private int id; private int nuofcourses; מבוא למדעי המחשב הרצאה 18 פולימורפיזם ומחלקות אבסטרקטיות תזכורת public (int id,

More information

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 תוכנה 1 תרגול מספר 10: תרגיל חזרה חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 חברת הייטק בתרגיל זה נתרגל מספר נושאים אותם למדנו בשיעורים האחרונים: עיצוב ובניית מודל המורכב ממחלקות לתיאור סביבה

More information

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen

מבוא לתכנות בשפת C. Tzachi (Isaac) Rosen מבוא לתכנות בשפת C מצביעים והקצאה דינאמית כתובות של משתנים לכל משתנה כתובת של המקום שלו בזיכרון כבר ראינו: שם של מערך הוא למעשה הכתובת של התא הראשון )באינדקס 0( של המערך להזכירכם: תא של מערך הינו משתנה

More information

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה תוכנה 1 תרגול 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה 2 מנשקים מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות של מתודות המימוש שלהן. )חתימות( ללא קוד אשר

More information

הנכות 1 םוכיס לוגרת 14 1

הנכות 1 םוכיס לוגרת 14 1 תוכנה 1 סיכום תרגול 14 1 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers

More information

9. טופס הזמנת מוצרים טופס ההזמנה הוא טופס מורכב. מעורבים בו 4 טבלאות נתונים. קשרי הגומלין בין הטבלאות : הטופס :

9. טופס הזמנת מוצרים טופס ההזמנה הוא טופס מורכב. מעורבים בו 4 טבלאות נתונים. קשרי הגומלין בין הטבלאות : הטופס : 9. טופס הזמנת מוצרים טופס ההזמנה הוא טופס מורכב. מעורבים בו 4 טבלאות נתונים. קשרי הגומלין בין הטבלאות : הטופס : 1 בהרצה : הוספת פריט רשימת פריטים ההכנה לעבודה : 1. להוסיף שתי טבלאות למאגר טבלת orders וטבלת.orderDetail

More information

JAXP: Beyond XML Processing

JAXP: Beyond XML Processing JAXP: Beyond XML Processing Bonnie B. Ricca Sun Microsystems bonnie.ricca@sun.com bonnie@bobrow.net Bonnie B. Ricca JAXP: Beyond XML Processing Page 1 Contents Review of SAX, DOM, and XSLT JAXP Overview

More information

Chapter 13 XML: Extensible Markup Language

Chapter 13 XML: Extensible Markup Language Chapter 13 XML: Extensible Markup Language - Internet applications provide Web interfaces to databases (data sources) - Three-tier architecture Client V Application Programs Webserver V Database Server

More information

Smart Pointers Nir Adar

Smart Pointers Nir Adar 7.1.2005 גירסה 1.00 Smart Pointers מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות

More information

הקלחמ ה תמרב ת ונ וכ ת (static members ) יליזרב דהוא Java תפשב ם דקת מ תונכת ביבא ל ת תטיסרבינוא

הקלחמ ה תמרב ת ונ וכ ת (static members ) יליזרב דהוא Java תפשב ם דקת מ תונכת ביבא ל ת תטיסרבינוא ת כו נו ת ברמת ה מחלקה (static members) אוהד ברזילי תכנות מ תקד ם בשפת Java אוניברסיטת ת ל אביב static keyword שדות המוגדרים כ static מציינים כי הם מוגדרים ברמת המחלקה ולא ברמת עצם כל העצמים של אותה מחלקה

More information

קורס תכנות שיעור שני: שימוש במשתנים,

קורס תכנות שיעור שני: שימוש במשתנים, קורס תכנות שיעור שני: שימוש במשתנים, בקרת זרימה, לולאות 1 נושאי השיעור היום משתנים )variables( טיפוסי משתנים בשפת C הגדרת משתנים השמה למשתנים פעולות על משתנים קליטת ערכים מהמשתמש הדפסה משתנים בקרת זרימה

More information

על המדריך : יניב ארד. מתכונת "Extreme70" המתקדמת בארץ ללימודי פיתוח

על המדריך : יניב ארד. מתכונת Extreme70 המתקדמת בארץ ללימודי פיתוח Course : Angular 6 על המדריך : יניב ארד יניב ארד הוא מהמדריכים הטכנולוגיים המובילים בארץ. יניב הכשיר למעלה מ 6000 אנשי פיתוח בלמעלה מ 100 חברות וכיום מדריך ומרצה מבוקש בחברות מהגדולות בארץ. יניב ידוע בזכות

More information

The age of the post PC

The age of the post PC The age of the post PC Mobile is the new face of engagement Apps Are Not Just For Fun And Games; Employees Use Them To Get Work Done Most Workers Pay For Their Own Tablets Most wanted platform by developers

More information

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2 מבוא למדעי המחשב תירגול 2: לולאות, קלט, וטיפוסים 1 תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char 2 לולאת while 3 לולאת while קטע קוד מתבצע שוב ושוב כל עוד תנאי מתקיים int number = 40; while(number>0)

More information

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter.

עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. עקרונות שפות תכנות 2016 תרגול 8 Type Inference System. Substitution Interpreter. Type Inference System The Type Inference System is a Scheme Implementation of the algorithm for Type Checking and Inference

More information

- מבחן. - 4 עבודות ב- JAVA. הגשה בזוגות דרך ה- System Submission

- מבחן. - 4 עבודות ב- JAVA. הגשה בזוגות דרך ה- System Submission 1 - מבחן. - 4 עבודות ב- JAVA 60% 40% הגשה בזוגות דרך ה- System Submission 2 UML Class Diagrams Packages Class Path JAR Files חלק ראשון: חלק שני: 3 An abstraction of software features A structure that singles

More information

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator מבוא למדעי המחשב 2017 תרגול 8 רשימה משורשרת כללית, Comparator בתרגול היום. LinkedList בניית ההכללה מ- LinkIntList תרגול המבנה ושימושיו ממשקים: Comparator Sorted Linked List ל- LinkedList ע"י שימוש ב- Comparator

More information

XML. Technical Talk. by Svetlana Slavova. CMPT 842, Feb

XML. Technical Talk. by Svetlana Slavova. CMPT 842, Feb XML Technical Talk by Svetlana Slavova 1 Outline Introduction to XML XML vs. Serialization Curious facts, advantages & weaknesses XML syntax Parsing XML Example References 2 Introduction to XML (I) XML

More information

Chapter 1: Getting Started. You will learn:

Chapter 1: Getting Started. You will learn: Chapter 1: Getting Started SGML and SGML document components. What XML is. XML as compared to SGML and HTML. XML format. XML specifications. XML architecture. Data structure namespaces. Data delivery,

More information

רשימות דילוגים Skip Lists

רשימות דילוגים Skip Lists Lecture6 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds רשימות דילוגים Skip Lists Skip lists: A probabilistic Alternative to Balanced Trees, William Pugh, Communications of the

More information

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים

תזכורת: עץבינארי מבוא למדעי המחשב הרצאה 24: עצי חיפוש בינאריים מבוא למדעי המחשב הרצאה 2: עצי חיפוש בינאריים תזכורת: עץבינארי בנוסףלרשימהמקושרת ומערך, הצגנומבנהנתונים קונקרטיחדש עץבינארי עץבינארימורכבמ: שורש תת-עץשמאלי תת-עץימני A B C D E F G 2 תזכורת: שורש ותתי-עצים

More information

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11 !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... 7:4 @import Directive... 9:11 A Absolute Units of Length... 9:14 Addressing the First Line... 9:6 Assigning Meaning to XML Tags...

More information

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1

ת ונכת סרוק תורשוקמ תומישר :יעישת רועיש 1 קורס תכנות שיעור תשיעי: רשימות מקושרות 1 הקצאה דינאמית של מערכים דו-ממדיים )לפחות( שלוש גישות אפשריות:.1 מערך של מערכים מצביעים לתוך מערך "גדול".2 3. מצביע יחיד למערך גדול 2 The Interface 3 (Simple) Usage

More information

תוכנה 1 תרגול מספר 10: תרגיל חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 תרגול מספר 10: תרגיל חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 תוכנה 1 תרגול מספר 10: תרגיל חברת הייטק בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 חברת הייטק בתרגיל זה נתרגל מספר נושאים אותם למדנו בשיעורים האחרונים: עיצוב ובניית מודל המורכב ממחלקות לתיאור סביבה

More information

פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות

פתרון מוצע לבחינת מהט ב_שפת c מועד אביב תשעח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות פתרון מוצע לבחינת מה"ט ב_שפת c מועד אביב תשע"ח, פברואר 8102 מחבר: מר שייקה בילו, מכללת אורט רחובות שאלה מספר 1 התוכנית מגדירה חמישה משתנים שלמים: השלושה הראשונים הם שלושה מצביעים - *s *t,i. j ושלושה נוספים

More information

- MEAN Stack חזרה. MongoDB - as the database Express - as the web framework AngularJS - as the frontend framework NodeJS- as the server platform

- MEAN Stack חזרה. MongoDB - as the database Express - as the web framework AngularJS - as the frontend framework NodeJS- as the server platform הדר פיקאלי תשע"ו - 2016 - MEAN Stack חזרה בניית web applications כרוכה בשימוש בטכנולוגיות וכלים שונים, להתמודדות עם: מסד נתונים, פעולות בצד השרת, טיפול בצד הלקוח והצגה של הנתונים. מהו?MEAN "MEAN is a fullstack

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design Object-Oriented Analysis and Design Session 2a: Structure Modeling Object-Oriented Analysis and Design 1 Outline 1. Objects and Classes 4 2. Basic Association Concepts.17 3. Class Diagrams and Object (instance)

More information

גירסה

גירסה גירסה 1.00 29.02.2004 לולאות בשפת C מסמך זה הורד מהאתר.http://underwar.livedns.co.il אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש

More information

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch 1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות שאלה פרק א :1 m a b k k b x I x > a II x < b פלט I && II 0 8 12 8 4 1 9 11 2 10 11 9 8 2 12 35 13 העמודות המסומנות בכחול אינן עמודות חובה בפתרון. שאלה 2:

More information

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון.

מבוא לתכנות תוכנית שעור מס. 1 1 דר' דרור טובי, המרכז האוניברסיטאי אריאל בשומרון. מבוא לתכנות תוכנית ראשונה שעור מס. 1 דרור טובי דר' 1 מבוא לתכנות בשפת ++C C \ שלום!! מרצה ד"ר דרור טובי, drorto@ariel.ac.il שעות קבלה: יום ב, 10-12 טלפון )אריאל( 03 9076547 אתר הקורס: http://www.ariel.ac.il/cs/pf/tdror/courses/cpp

More information

מבוא למדעי המחשב תירגול 3:

מבוא למדעי המחשב תירגול 3: מבוא למדעי המחשב תירגול 3: לולאות, קלט, וטיפוסים תוכנייה לולאת while קלט טיפוסי משתנים המרת טיפוסים טיפוס char מבוא למדעי המחשב מ' - תירגול 3 2 לולאת while מבוא למדעי המחשב מ' - תירגול 3 3 לולאת while

More information

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א'

ב ה צ ל ח ה! אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כה תשרי תשעח 15/10/17 שמות המורים: ציון סיקסיק מיועד לתלמידי : א' אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ה תשרי תשע"ח 15/10/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : א' מועד קיץ סמ' שנה תשע"ז 3 שעות משך

More information

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה

כתבו קוד ב- 3 קבצי ה hpp (כתבו כהערה את שם הקובץ מעל) כך שהקוד יהיה תקין ובסגנון טוב. אין חובה פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבנה זכרון ושפת ++C קוד הקורס: 7027810 תאריך בחינה: שאלות לדוגמא משך הבחינה: שעתיים שם המרצים: ד"ר אופיר פלא, ד"ר מירי בן ניסן חומר עזר: פתוח שימוש במחשבון:

More information

דף הדרכה ליצירת שרת/ לקוח עם GUI

דף הדרכה ליצירת שרת/ לקוח עם GUI דף הדרכה ליצירת שרת/ לקוח עם GUI בשיעורים הקודמים למדנו כיצד ליצור שרת לקוח פשוט, ויצירת טופס המכיל פקדים כלומר יצירת GUI למשתמש, בשיעור זה נרצה להראות את הדרך לשילוב בין השניים כלומר ליצור לקוח client

More information

מבוא למדעי המחשב תרגול 13: עצים בינאריים

מבוא למדעי המחשב תרגול 13: עצים בינאריים מבוא למדעי המחשב תרגול 13: עצים בינאריים עצים בינאריים - הגדרה הגדרה: עץ בינארי הוא עץ ריק (בלי צמתים) או עץ המורכב משורש ושני תתי-עצים, הוא עץ בינארי. ימני ושמאלי, שכל אחד מהם תרגיל 1 עץ בינארי מסודר

More information

תוכנה 1. תרגול מס' 3 עבודה עם מחרוזות )Strings( מתודות )Methods( העברת פרמטרים

תוכנה 1. תרגול מס' 3 עבודה עם מחרוזות )Strings( מתודות )Methods( העברת פרמטרים תוכנה 1 תרגול מס' 3 עבודה עם מחרוזות )Strings( מתודות )Methods( העברת פרמטרים שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )קומפיילר( כדי להמיר קבצי.java )קבצי

More information

מבוא לתכנות מערכות מבחן מועד א' סמסטר חורף

מבוא לתכנות מערכות מבחן מועד א' סמסטר חורף הפקולטה למדעי המחשב פרופ' גיל ברקת נועם שגב, שרי דואק, רן ברואר, דור כהן הטכניון מכון טכנולוגי לישראל 70.70.07.4 מבוא לתכנות מערכות 024.00 מבחן מועד א' סמסטר חורף 07.207.4 הוראות כלליות משך המבחן: 081

More information

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5

מבוא לתכנות ב- JAVA תרגול 5. Ipc161- practical session 5 מבוא לתכנות ב- JAVA תרגול 5 Ipc161- practical session 5 מה בתרגול מערכים דו ממדיים )methods( פונקציות/שיטות ב- Java הגדרת פונקציה קריאה/הפעלה העברת ארגומנטים ערכי החזרה מערך דו ממדי מערך של מערכים חד ממדיים

More information

חוברת תרגילים לתרגול יסודות התכנות

חוברת תרגילים לתרגול יסודות התכנות פעולות קלט ופלט חוברת תרגילים לתרגול יסודות התכנות קלוט 3 מספרים. סכם אותם, הצג את שלושתם ואת תוצאת הסיכום. int num1, num2, num3,sum; Console.WriteLine("please enter 3 numbers"); num1 = int.parse(console.readline());

More information

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar..

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar.. .. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar.. XML in a Nutshell XML, extended Markup Language is a collection of rules for universal markup of data. Brief History

More information

תוכנה 1 ומחלקות פנימיות

תוכנה 1 ומחלקות פנימיות תוכנה 1 Design Patterns ומחלקות פנימיות תרגול 11: 1 Design Patterns A general reusable solution to recurring design problems. Not a recipe A higher level language for design Factory, Singleton, Observer

More information

Generating XML. Crash course on generating XML

Generating XML. Crash course on generating XML Generating XML Crash course on generating XML What is XML? XML is a markup language using tags (entities surrounded in < and > ). XML stands for extensible Markup Language. Goals: simplicity, generality

More information

Data Presentation and Markup Languages

Data Presentation and Markup Languages Data Presentation and Markup Languages MIE456 Tutorial Acknowledgements Some contents of this presentation are borrowed from a tutorial given at VLDB 2000, Cairo, Agypte (www.vldb.org) by D. Florescu &.

More information

Document Parser Interfaces. Tasks of a Parser. 3. XML Processor APIs. Document Parser Interfaces. ESIS Example: Input document

Document Parser Interfaces. Tasks of a Parser. 3. XML Processor APIs. Document Parser Interfaces. ESIS Example: Input document 3. XML Processor APIs How applications can manipulate structured documents? An overview of document parser interfaces 3.1 SAX: an event-based interface 3.2 DOM: an object-based interface Document Parser

More information

עבודה עם STL. )Dmitry Korolev

עבודה עם STL. )Dmitry Korolev עבודה עם STL )Dmitry Korolev יניב סבו )מבוסס על המאמר של הקדמה STL = Standard Template Library הספרייה הסטנדטית של ++C. כוללת את רוב האלגוריתמים ומבני הנתונים הבסיסיים במדעי המחשב. Heavily parameterized

More information

XML Introduction 1. XML Stands for EXtensible Mark-up Language (XML). 2. SGML Electronic Publishing challenges -1986 3. HTML Web Presentation challenges -1991 4. XML Data Representation challenges -1996

More information